- •Цикл презентаций «ООП на Delphi» посвящен объектно – ориентированному
- •Объектно – ориентированное
- •DELPHI - 4
- •1. Компоненты Delphi Radio Button и Checkbox
- •Компоненты Radio Button и Check Box
- •Компоненты Radio Button и Check Box
- •Компоненты Radio Button и Check Box
- •Компоненты Radio Button и Check Box
- •Компоненты Radio Button и Check Box
- •2. Создание простого теста
- •Создание простого теста
- •Создание простого теста
- •Создание простого теста
- •Создание простого теста
- •Создание простого теста
- •Создание простого теста
- •Создание простого теста
- •Создание простого теста
- •Создание простого теста
- •Создание простого теста
- •Создание простого теста
- •Создание простого теста
- •Создание простого теста
- •ИТОГИ УРОКА:
- •procedure
Создание простого теста
|
Сейчас напишем отклик на событие нажатия на |
ШАГ 6 |
|
|
кнопку «ПРОВЕРИТЬ» |
|
Сделаем двойной щелчок по кнопке «ПРОВЕРИТЬ» в первом вопросе и запишем соответствующий код.
Давайте его разберем
Если условие выполняется (выбран верный ответ), то
- значение счетчика верных ответов увеличиваем на единицу
- Метку 6(Label6), где выводится :верно/неверно делаем видимой и пишем в ней надпись ВЕРНО зеленым
Если условие не выполняется, то счетчик не увеличиваем, а метку 6 делаем видимой и выводим надпись НЕВЕРНО, причем красным цветом
Очевидно, что для кнопок проверки 2 и 3 вопросов код будет абсолютно таким же за
исключением номеров Label-ов для вывода ВЕРНО/НЕВЕРНО, поэтому Вы можете написать его самостоятельно (не забывайте, что в редакторе можно использовать копирование кода – это гораздо быстрее)
Создание простого теста
|
|
|
Следующим шагом опишем процедуры проверки |
||
|
|
ШАГ 7 |
|||
|
|
|
ответа в вопросах 4 и 5 – там код будет немного другой |
||
|
|
|
|||
|
|
|
ввиду множественного выбора и других используемых |
||
|
|
|
компонент |
|
|
|
|
Сделаем двойной щелчок по кнопке «ПРОВЕРИТЬ» в 4 вопросе и |
|||
|
|
запишем соответствующий код. |
Проверяем выбранные |
||
|
|
|
|
|
ответы : ответ будет |
|
|
|
|
|
верным только тогда, |
|
|
|
|
|
когда первый и |
|
|
|
|
|
четвертый боксы будут |
|
|
|
|
|
выбраны (True), а второй |
|
|
|
|
|
|
|
|
|
|
|
и третий не выбраны |
|
|
|
|
|
|
|
|
|
|
|
(false) |
|
|
|
|
|
В этом случае- |
|
|
|
|
|
значение счетчика |
|
|
|
|
|
верных ответов |
|
|
|
|
|
увеличиваем на |
|
|
|
|
|
|
|
|
|
|
|
единицу |
|
|
|
|
|
- Метку 9(Label9) делаем |
Если условие не выполняется, то счетчик не увеличиваем, метку 9 делаем видимой и выводим надпись НЕВЕРНО красным цветом
Создание простого теста
|
|
Хотя вопрос 5 тоже с множественным выбором, то код |
|
ШАГ 8 |
|
|
|
обработки этой кнопки аналогичен кнопке 4, но |
|
|
|
|
|
давайте добавим в нее дополнительные функции: после |
|
|
нажатия этой кнопки должны выводиться результаты |
|
|
теста в Memo |
Эта часть аналогична кнопке 4 вопроса и объяснений здесь не требуется
Делаем видимым компонент Memo для вывода результатов
Выводим результаты теста
Создание простого теста
|
|
|
Давайте посмотрим, как выводится в Memo результат |
|||||
|
ШАГ 8 |
|||||||
|
|
|
теста |
|||||
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Опять вывод строки
Количество верных ответов
Давайте вспомним таблицу кодировки символов - ASCII – символы с номерами 13 и 10 зарезервированы для переноса курсора на следующую строку (Enter) и в ее начало соответственно
Это значит, что вывод следующего элемента начнется с начала следующей строки
Создание простого теста
|
|
|
|
|
|
Давайте посмотрим, как выводится в Memo результат |
||||||
|
|
ШАГ 8 |
||||||||||
|
|
|
|
|
теста |
|||||||
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Опять |
|
переводи |
|
м курсор |
|
на начало |
|
следующе |
|
й строки |
|
Выводим |
Выводим |
текст |
|
значение |
Процент |
счетчика k, |
|
естественно, |
выполнения |
переводя его в |
теста |
строковый тип |
|
(с этим мы уже |
|
знакомы) |
|
(inttostr)
А здесь |
|
|
подсчитываем |
|
|
процент |
|
|
выполнения и |
|
|
переводим |
Выводи |
|
его в |
||
м |
||
строковый |
||
символ |
||
тип (из |
||
% |
||
вещественног |
||
(floattostr) |
|
|
о) |
|
И вот результат, выведенный в Memo
|
|
Создание простого теста |
|
|
Последняя кнопка – ВЫХОД |
|
ШАГ 9 |
|
|
|
|
|
|
|
Закрываемся
ШАГ 10 Сохраняем и компилируем программу (см. предыдущие уроки)
А сейчас попробуем запустить наш тест
Запустить ->
На этом наш урок закончен.
Конечно, наша тестирующая программа получилась довольно примитивная, у нее отсутствуют многие необходимые функции. По мере изучения Delphi мы составим более серьезную и удобную тестирующую оболочку, а пока самое главное, что наша программа работает и мы научились использовать компоненты для проверки условий
ИТОГИ УРОКА:
На этом уроке мы научились создавать и проверять условия, пользоваться компонентами Radio Button и Checkbox и составили простейшую тестирующую программу
НА СЛЕДУЮЩЕМ УРОКЕ:
ООП на Delphi – 5:
Мы научимся использовать элементы ввода и вывода информации и составим программу расчета корней квадратного уравнения, а также познакомимся с обработкой исключительных ситуаций
procedure |
procedure TForm1.Button1Click(Sender: |
procedure TForm1.Button4Click(Sender: |
|||||||
TForm1.FormCreate(Sender: |
TObject); |
|
|
TObject); |
|
|
|
|
|
|
|
|
|
||||||
TObject); |
begin |
begin |
|
|
|||||
|
|||||||||
begin |
Button1.Enabled:=false; |
Button4.Enabled:=false; |
|||||||
Memo1.Visible:=false; |
if radiogroup1.ItemIndex=2 then |
if (checkbox1.Checked=true) and |
|||||||
Memo1.Text:=''; |
begin |
(checkbox4.Checked=true) and |
|||||||
(checkbox2.Checked=false) and |
|||||||||
Label6.Visible:=false; |
k:=k+1; |
(checkbox3.Checked=false)then |
|||||||
label6.Font.Color:=rgb(0,150,0); |
begin |
||||||||
Label7.Visible:=false; |
|||||||||
label6.Visible:=true; |
k:=k+1; |
||||||||
Label8.Visible:=false; |
|||||||||
label6.Caption:='ВЕРНО!'; |
label9.Font.Color:=rgb(0,150,0); |
||||||||
Label9.Visible:=false; |
|||||||||
end |
label9.Visible:=true; |
||||||||
Label10.Visible:=false; |
|||||||||
else |
label9.Caption:='ВЕРНО!' |
||||||||
k:=0; |
begin |
end |
|||||||
end; |
label6.Font.Color:=rgb(150,0,0); |
else |
|||||||
|
label6.Visible:=true; |
begin |
|||||||
|
label6.Caption:='НЕВЕРНО !' |
label9.Font.Color:=rgb(150,0,0); |
|||||||
|
end; |
label9.Visible:=true; |
|||||||
|
end; |
label9.Caption:='НЕВЕРНО !' |
|||||||
|
|
|
|
end; |
memo1.Visible:=true; |
end; |
|
|
memo1.Text:='Всего вопросов - 5'+#13+#10+'Количество верных ответов - '+inttostr(k)+#13+#10+ 'Процент выполнения теста |
|
-'+floattostr(k/5*100)+' %'; |
|
end; |
|
procedure TForm1.Button6Click(Sender: TObject); |
|
begin |
|
close |
|
end; |
|